/**
 * 
 */
package com.xpec.c4.game.spinMoneyRecorder.db;

import java.io.Serializable;
import java.math.BigDecimal;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;

import com.xpec.c4.db.model.log.basic.BasicLogModel;

/**
 * slot game 指定 spin n 次後記錄玩家金錢記錄
 * 
 * @author TW15010
 */
@Entity
@Table(name = "spin_money_record")
public class SpinMoneyRecordLogModel extends BasicLogModel implements Serializable, Cloneable {
	private static final long serialVersionUID = -2394683161421040088L;

	/**
	 * 角色#1234
	 */
	private String playerName;

	/**
	 * playerId
	 */
	private String playerId;

	/**
	 * gameType
	 */
	private String gameType;

	/**
	 * hallType
	 */
	private String hallType;

	/**
	 * 機台號碼
	 */
	private int machineNum;

	/**
	 * spin次數
	 */
	private int spinCount;

	/**
	 * 每 spin 幾次 save 一次 log
	 */
	private int spinCountForSave;

	/**
	 * 起始體驗幣
	 */
	private BigDecimal trialCoinBeg;

	/**
	 * 結束體驗幣
	 */
	private BigDecimal trialCoinEnd;

	/**
	 * 起始C幣
	 */
	private BigDecimal goldCoinBeg;

	/**
	 * 結束C幣
	 */
	private BigDecimal goldCoinEnd;

	/**
	 * 最後一次押注金額
	 */
	private BigDecimal lastBetMoney;

	/**
	 * 最後一次押注幣別
	 */
	private String lastCoinType;

	@Override
	public Object clone() throws CloneNotSupportedException {
		return super.clone();
	}

	public String getPlayerName() {
		return playerName;
	}

	public void setPlayerName(String playerName) {
		this.playerName = playerName;
	}

	public String getPlayerId() {
		return playerId;
	}

	public void setPlayerId(String playerId) {
		this.playerId = playerId;
	}

	public String getGameType() {
		return gameType;
	}

	public void setGameType(String gameType) {
		this.gameType = gameType;
	}

	public String getHallType() {
		return hallType;
	}

	public void setHallType(String hallType) {
		this.hallType = hallType;
	}

	public int getMachineNum() {
		return machineNum;
	}

	public void setMachineNum(int machineNum) {
		this.machineNum = machineNum;
	}

	public int getSpinCount() {
		return spinCount;
	}

	public void setSpinCount(int spinCount) {
		this.spinCount = spinCount;
	}

	@Column(precision = 19, scale = 2, columnDefinition = "DECIMAL(19,2) default 0.0")
	public BigDecimal getGoldCoinBeg() {
		return goldCoinBeg;
	}

	public void setGoldCoinBeg(BigDecimal goldCoinBeg) {
		this.goldCoinBeg = goldCoinBeg;
	}

	@Column(precision = 19, scale = 2, columnDefinition = "DECIMAL(19,2) default 0.0")
	public BigDecimal getGoldCoinEnd() {
		return goldCoinEnd;
	}

	public void setGoldCoinEnd(BigDecimal goldCoinEnd) {
		this.goldCoinEnd = goldCoinEnd;
	}

	@Column(precision = 19, scale = 2, columnDefinition = "DECIMAL(19,2) default 0.0")
	public BigDecimal getLastBetMoney() {
		return lastBetMoney;
	}

	public void setLastBetMoney(BigDecimal lastBetMoney) {
		this.lastBetMoney = lastBetMoney;
	}

	public String getLastCoinType() {
		return lastCoinType;
	}

	public void setLastCoinType(String lastCoinType) {
		this.lastCoinType = lastCoinType;
	}

	@Column(precision = 19, scale = 2, columnDefinition = "DECIMAL(19,2) default 0.0")
	public BigDecimal getTrialCoinBeg() {
		return trialCoinBeg;
	}

	public void setTrialCoinBeg(BigDecimal trialCoinBeg) {
		this.trialCoinBeg = trialCoinBeg;
	}

	@Column(precision = 19, scale = 2, columnDefinition = "DECIMAL(19,2) default 0.0")
	public BigDecimal getTrialCoinEnd() {
		return trialCoinEnd;
	}

	public void setTrialCoinEnd(BigDecimal trialCoinEnd) {
		this.trialCoinEnd = trialCoinEnd;
	}

	public int getSpinCountForSave() {
		return spinCountForSave;
	}

	public void setSpinCountForSave(int spinCountForSave) {
		this.spinCountForSave = spinCountForSave;
	}
}
